ENTITY EVENTS DOCUMENTATION
Version: 1.21.60.10

索引

这描述了 Events 部分的结构。
概述
版本化变更
Randomize Node
Sequence Node
触发器
添加组件组
删除组件组
设置实体属性
Queue Command
返回顶部

这描述了 Events 部分的结构。

返回顶部

概述


实体事件可以通过 'sequence' 和 'randomize' 节点的组合来构建。
'sequence' 节点是数组节点,将按顺序从第一个元素到最后一个元素执行所有条目。
'randomize' 节点是数组节点,它们将根据权重选择一个条目来执行。
也可以在 'sequence' 和 'randomize' 节点中添加 'filters' 以限制执行。

在 'randomize' 和 'sequence ' 节点中,您可以指定一些作。
'trigger'、'filters'、'add' 和 'remove'。
您可以在文档的 'Filters' 部分阅读 'filters' 。
'trigger' 可用于在命中事件时触发其他实体事件。
'add' 可用于将组件组添加到实体中。
'remove' 可用于从实体中删除组件组。

收到事件时,将立即确定该事件的影响,但这些影响会发生变化
不会应用于实体,直到实体在游戏的服务器端进行更新。这意味着
'sequence' 数组中较晚条目中的过滤器不会看到该数组中较早条目的变化。
这也意味着,当一个实体向另一个实体发送事件时,它可能会对同一实体生效
游戏刻或下一刻,具体取决于目标实体是否已更新。

返回顶部

版本化变更


需要 '1.19.20' 或更高版本的 'format_version' 才能正确评估实体事件定义上指定的过滤器
在事件的根级别,即不在 'sequence' 或 'randomize' 节点下的任何过滤器。
版本较低的内容将使用旧行为,即忽略根级别过滤器。

返回顶部

Randomize Node


'randomize' 节点是一个数组节点,它将根据权重选择一个要执行的条目。
如果未指定权重,则节点的权重将为 1.0。
如果您在一个节点中添加权重 4.0,在另一个节点中添加权重 8.0,则这些节点将分别有 33.33% (4 / (4 + 8)) 和 66.66% (8 / (4 + 8)) 的执行机会。

例:

返回顶部

Sequence Node

例:

返回顶部

触发器

命中时触发其他实体事件。例如,您可以使用 minecraft:entity_spawned 中的 randomize 节点来选择成人或婴儿事件来添加组件组。

例:

返回顶部

添加组件组

将组件组添加到当前实体。这些组必须在文件的 'component_groups' 部分中定义。由于实体只能有每种类型的一个组件处于活动状态,因此正在添加的组中的任何组件都将替换以前添加的组件。此外,添加已处于活动状态的组件组将导致这些组件重新初始化。对于某些类型的组件,如 minecraft:is_baby,重新初始化已经激活的组件没有效果,但对于其他组件类型,关联的逻辑将重新开始。例如,一个已经添加的 minecraft:timer 如果再次添加,它将重新开始其计时逻辑。

例:

返回顶部

删除组件组

从当前实体中删除组件组。这可以是您在文件的 'component_groups' 部分中定义的任何组。

例:

返回顶部

设置实体属性

设置实体属性的值。必须在文件的 'properties' 部分中定义该属性。

例:

返回顶部

Queue Command

将要在实体上运行的命令排队。该命令将在下一刻内运行,除非该实体已被删除。

例:

返回顶部